package com.rx.camunda.service;

import com.rx.camunda.vo.ActReProcdef;
import com.rx.camunda.vo.ActRuInstance;
import com.rx.camunda.vo.ActRuOperate;
import com.rx.camunda.vo.ActRuTask;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.Valid;
import java.util.List;

/**
 * 所有版权归 广西梧州 陈锦韬 所有
 *
 * @version V1.0
 * @Title: CamundaService
 * @Package com.rx.camunda.service
 * @Description: 流程服务接口
 * @author: 陈锦韬
 * @date: 2021\8\21 0021
 * @Copyright: 2021 陈锦韬  All rights reserved.
 */
public interface CamundaService {
    Object processDefinedPage(ActReProcdef data);
    Object processDefinedState(List<ActReProcdef> data);
    Object processDefinedDelete(ActReProcdef data);

    /**
     * 重部署
     * @param data
     * @return
     */
    Object processDefinedReDeploy(ActReProcdef data);

    /**
     * 流程图下载
     * @param data
     * @return
     */
    Object processDefinedDownload(ActReProcdef data);

    /**
     * 上传部署
     * @param file
     * @return
     */
    Object processDefinedUpload(MultipartFile file);

    Object processDefinedTaskPage(ActRuTask data);
    /**
     * 流程实例
     * @param data
     * @return
     */
    Object processInstancePage(ActRuInstance data);

    Object processTaskPage(ActRuTask data);

    Object processPass(ActRuOperate data);

    Object processReject(ActRuOperate data);

    Object processRefuse(ActRuOperate data);

    Object processCancel(ActRuOperate data);

    Object processRedo(ActRuOperate data);

    Object processDonePage(ActRuInstance data);
    /**
     * 办结
     * @param data
     * @return
     */
    Object processFinishPage(ActRuInstance data);
}
